home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / make / icmake-6.000 / icmake-6 / icmake / comp / yyerror.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-08  |  1.4 KB  |  41 lines

  1.  
  2. #include "iccomp.h"
  3.  
  4. static char *err_msg[] =
  5.     {
  6.         "(",                            /* err_openpar_expected, */
  7.         ")",                            /* err_closepar_expected, */
  8.         "{",                            /* err_openbrace_expected, */
  9.         "}",                            /* err_closebrace_expected, */
  10.         ";",                            /* err_semicol_expected, */
  11.         "=",                            /* err_assign_expected, */
  12.         "error in expression",          /* err_in_expression, */
  13.         ",",                            /* err_comma_expected, */
  14.         "statement(s)",                 /* err_statements_expected, */
  15.         "identifier",                   /* err_identifier_expected, */
  16.         "code or vars",                 /* err_code_or_vars_expected, */
  17.         ",' or ')'",                    /* err_comma_or_closepar_expected, */
  18.         "number",                       /* err_number_expected, */
  19.         "older', 'younger' or 'newer'", /* err_older_younger, */
  20.     };
  21.  
  22.  
  23. int yyerror (s)
  24.     char *s;
  25. {
  26.     errcount++;
  27.     printf ("[%s] Line %d", source_name, yylineno);
  28.  
  29.     if (!yytext[0])
  30.         puts (": Unexpected end of file.");
  31.     else
  32.         printf(" at '%s': '%s'%s\n", yytext, err_msg[parse_error],
  33.             parse_error == err_in_expression ?
  34.                 nullstring
  35.             :
  36.                 " expected"
  37.         );
  38.  
  39.     return (0);
  40. }
  41.